Skip to content

chore(build): prepare for releases#78

Open
wmontwe wants to merge 17 commits into
thunderbird:mainfrom
wmontwe:chore-build-prepare-for-releases
Open

chore(build): prepare for releases#78
wmontwe wants to merge 17 commits into
thunderbird:mainfrom
wmontwe:chore-build-prepare-for-releases

Conversation

@wmontwe

@wmontwe wmontwe commented Jun 19, 2026

Copy link
Copy Markdown
Member

Depends on #77

Prepares the project for publishing Thunderbird Mobile Components releases.

Adds release and snapshot publishing workflows, BOM/release/publishing Gradle tasks, release tag and version validation support, and maintainer release documentation.

Also enables ABI validation, Dokka, Gradle isolated projects, and updates Detekt/build logic for the new release-ready setup.

Bumps dependencies to be on the same state as TfA. This includes migration to AGP 9.

@wmontwe wmontwe requested a review from a team as a code owner June 19, 2026 16:41
@wmontwe wmontwe requested a review from jbott-tbird June 19, 2026 16:41
@wmontwe wmontwe added the pr: stacked Must be used on a PR that is stacked on top of other(s) label Jun 19, 2026
@wmontwe wmontwe requested review from rafaeltonholo and removed request for jbott-tbird June 19, 2026 16:42
@wmontwe wmontwe force-pushed the chore-build-prepare-for-releases branch from ad7c2d0 to ab0dee1 Compare June 19, 2026 16:45
@wmontwe wmontwe force-pushed the chore-build-prepare-for-releases branch from ab0dee1 to 3ce3f0c Compare June 22, 2026 09:33
val versionFile = versionManager.sourceFile()
?: error("No version.properties file found to print the release tag.")

println("${versionFile.parentFile.name}-${version.toStringValue()}")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
println("${versionFile.parentFile.name}-${version.toStringValue()}")
logger.lifecycle("${versionFile.parentFile.name}-${version.toStringValue()}")

Comment thread config/detekt/detekt.yml
value: 'STOPSHIP:'
- reason: 'Forbidden TODO todo marker in comment, please do the changes or create an issue to address it.'
value: 'TODO:'
allowedPatterns: '(TODO|FIXME)\((@[a-zA-z0-9-]+|#[0-9-]+)\):'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would keep this. This allow us to add follow-up tasks without missing it

Comment thread config/detekt/detekt.yml
- 'equals'
excludeLabeled: false
excludeReturnFromLambda: true
excludeGuardClauses: true

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would keep this true. Guard clauses are very useful for pre-requisits validation and helps with redability.

Comment thread docs/release-guide.md

The publishing workflows expect these repository secrets:

- `MAVEN_CENTRAL_USERNAME`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note about maven central: https://central.sonatype.org/publish/maven-central-publishing-limits/

We may need to check if that would not be an issue for us.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: stacked Must be used on a PR that is stacked on top of other(s)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants